﻿using System.Collections.Generic;
using FriendlyURL.Web.Domain.Models;
using System.Web.Security;

namespace FriendlyURL.Web.Domain.Abstract
{
    public interface IUserRepository
    {
        MembershipUser CreateUser(string username, string password, string email);
        string GetUserNameByEmail(string email);
        MembershipUser GetUser(string username);
        bool ValidateUser(string username, string password);
        bool ActivateUser(string username, string key);

        User GetUserByLoginID(string loginId);
        User GetUserByUserID(int userId);
        IEnumerable<User> GetUsers { get; }
        bool IsValidUser(string loginId);
        bool UserExists(User user);
        string[] GetRolesForUser(string loginId);

        User AddUser(string domain, string loginId, string fullName, string isAllocator, string isAdmin);
        User UpdateUser(int id, string columnName, string value);
        bool DeleteUser(int id);
    }
}
